python 使用PIL库批量修改图片大小
import os
import glob
import os.path
from PIL import Image
def CreateDir(strDir):
"""
若文件夹不存在则创建
:param strDir: 文件路径
:return: 无
"""
if not os.path.exists(strDir):
os.makedirs(strDir)
def ConvertJpg(strJpgFile, strSaveDir, width=224, height=224):
"""
修改图片文件大小 strJpgFile 并保存至 strSaveDir
:param strJpgFile: jpg文件路径
:param strSaveDir: 转换后文件存储路径
:param width: 图像宽度
:param height: 图像高度
:return: 无
"""
img_src = Image.open(strJpgFile)
img_dst = img_src.resize((width, height), Image.LANCZOS)
img_dst.save(os.path.join(strSaveDir, os.path.basename(strJpgFile)))
def BatchModifyJpgSize(fileDir, saveDir):
"""
查找给定路径下图片文件,并修改其大小
:param fileDir: 文件路径
:param saveDir: 目标存储路径
:return: 无
"""
for jpgFile in glob.glob(fileDir):
ConvertJpg(jpgFile, saveDir)
def main():
str_src_file = r'xxx\in_dir\*.jpg'
str_output_dir = r'xxx\out_dir\output'
CreateDir(str_output_dir)
BatchModifyJpgSize(str_src_file, str_output_dir)
print('job done.')
if __name__ == '__main__':
main()